﻿/*-------------------------------------------------------------------------
* 命名空间: ScreenCapture.Models/ServiceLocator
* 类       名: ServiceLocator
* 功      能:  TD
* 时      间:  2023/12/1 16:03:57
* 版      本:  V1.0
* 作      者:  Fioman
* 格      言:  Talk is cheap,show me the code ^_^
*-------------------------------------------------------------------------*/
using ScreenCapture.Base.Services;
using ScreenCapture.ViewModels;

namespace ScreenCapture.Models
{

    /// <summary>
    /// 对象生成器服务定位器, 使用静态资源来给UI注入Models
    /// 简而言之就是通过依赖注入的方式来注入对象然后获取对象的.
    /// </summary>
    public class ServiceLocator
    {
        static ServiceLocator()
        {
            ServiceProvider.LoadModule(new MainModule());
        }
        public IIconSet Icons => ServiceProvider.Get<IIconSet>();
        /// <summary>
        /// 主窗口的MainViewModel的实例对象
        /// </summary>
        public MainViewModel MainViewModel => ServiceProvider.Get<MainViewModel>();

        /// <summary>
        /// Record窗口的RecordViewModel实例对象
        /// </summary>
        public RecordViewModel RecordViewModel => ServiceProvider.Get<RecordViewModel>();
    }
}



